<?php

class Penca{

	private $penca_id;
	private $user_id;
	private $penca_data;

	public function Penca(){
		if(!$_SESSION) session_start();
		$user = $_SESSION['user'];
		$this->user_id = $user->getUserId();
		$this->penca_id = $user->getPencaId();


		$sql = "SELECT * FROM pencas WHERE id_penca = {$this->penca_id}";

		$config = Zend_Registry::get('config');
		$db = Zend_Db::factory($config->database->adapter,$config->database->params);

		$db->setFetchMode(Zend_Db::FETCH_OBJ);
		$this->penca_data = $db->fetchRow($sql);


	}

	public function apostar($id_partido,$goles_apostados_local, $goles_apostados_visitante){

		$config = Zend_Registry::get('config');
		$db = Zend_Db::factory($config->database->adapter,$config->database->params);

		$data = array(
					'apuesta_goles_local' => $goles_apostados_local,
					'apuesta_goles_visitante' => $goles_apostados_visitante,
					'fecha_apuesta' => new Zend_Db_Expr('NOW()')
		);

		$where = 'id_usuario = '.$this->user_id.' AND id_partido = '.$id_partido;
		$n = $db->update('apuestas', $data, $where);

		if(!$n){
			$data = array(
						'id_usuario' =>$this->user_id,
						'id_partido' =>$id_partido,
						'apuesta_goles_local' => $goles_apostados_local,
						'apuesta_goles_visitante' => $goles_apostados_visitante,
						'fecha_apuesta' => new Zend_Db_Expr('NOW()')
			);
			$db->insert('apuestas', $data);
		}
	}

	public function getMinAntesPartido(){
		return $this->penca_data->min_antes_partido;
	}

	public function getApuestas($id_partido){
		$sql = "SELECT
				pa.* ,  
				u.alias,
				e1.nombre nombre_local, 
				e1.bandera band_local, 
				e2.nombre nombre_visitante, 
				e2.bandera band_visitante, 
				a.apuesta_goles_local, 
				a.apuesta_goles_visitante, 
				a.puntos_obtenidos,
				ps.iso2 bandera, ps.short_name
				FROM paises ps, equipos e2 ,equipos e1 ,apuestas a ,partidos pa, usuariospenca up
				JOIN usuarios u ON up.id_usuario = u.id_usuario
				JOIN pencas pe ON up.id_penca = pe.id_penca
				WHERE a.id_partido = pa.id_partido
				AND (a.id_usuario = u.id_usuario AND a.id_partido = pa.id_partido)
				AND e1.id_equipo = pa.id_eq_local
				AND e2.id_equipo = pa.id_eq_visitante
				AND u.id_pais = ps.id_pais
				AND pe.id_penca = {$this->penca_id}
				AND pa.id_partido = {$id_partido}
				AND u.borrado != 1
               	ORDER BY a.puntos_obtenidos, u.alias";
		
		
		
		$config = Zend_Registry::get('config');
		$db = Zend_Db::factory($config->database->adapter,$config->database->params);

		$result = $db->fetchAll($sql);

		$apuestas = array();
		foreach($result as $row){
			$apuestas[] = $row;
		}

		return $apuestas;
	}
	
	public function getPosiciones(){
		$sql = "SELECT
				u.id_usuario,
				u.alias,
				ps.iso2 bandera, 
				ps.short_name,
				up.puntos
				FROM paises ps, usuariospenca up
				JOIN usuarios u ON up.id_usuario = u.id_usuario
				WHERE u.id_pais = ps.id_pais
				AND up.id_penca = {$this->penca_id}
				AND u.borrado != 1
               	ORDER BY up.puntos, u.alias";
		
		
		
		$config = Zend_Registry::get('config');
		$db = Zend_Db::factory($config->database->adapter,$config->database->params);

		$result = $db->fetchAll($sql);

		$apuestas = array();
		foreach($result as $row){
			$row['mi_usuario'] = ($row['id_usuario'] == $this->user_id);
			$apuestas[] = $row;
		}

		return $apuestas;
	}
}